//
//  TYZPickerTool.h
//  ESTSCRMAPP
//
//  Created by 李贤立 on 2018/10/12.
//  Copyright © 2018年 Capfer. All rights reserved.
//

#import <UIKit/UIKit.h>
/**
 *  日期选择器类型
 */
typedef NS_ENUM(NSInteger, TYZDatePickerMode) {
    /**非日期选择器*/
    DatePickerMode_Default = 0,
    /**年月日选择器*/
    DatePickerMode_Date = 1,
    /**年月选择器*/
    DatePickerMode_YearMonth = 2,
    /**年份选择器*/
    DatePickerMode_Year = 3,
    /**月份选择器*/
    DatePickerMode_Month = 4,
    /**时分秒选择器*/
    DatePickerMode_Time = 5,
    /**时分选择器*/
    DatePickerMode_HourMinute = 6,
    /**小时选择器*/
    DatePickerMode_Hour = 7,
    /**分钟选择器*/
    DatePickerMode_Minute = 8,
    /**年月日时分秒*/
    DatePickerMode_DateTime = 9,
};
#define TYZDatePicker_StartYear             1949
#define TYZDatePicker_EndYear               2049
#define TYZPickerTool_Height                256
@interface TYZPickerTool : UIView
/**
 *  选择了第几个的回调
 */
@property(nonatomic) void(^didChooseNumberBlock)(NSArray<NSNumber *> *numberArray);
/**
 *  数据源
 *  一维数组的格式：@[@"A", @"B", @"C"]
 *  二维数组的格式：@[@[@"A",@[@"1",@"4",@"3",@"2"]], @[@"B",@[@"5",@"6",@"7",@"8"]], @[@"C",@[@"a",@"b",@"c",@"d"]], @[@"D",@[@"e",@"f",@"g",@"h"]]]
 */
@property(nonatomic, strong) NSArray *dataArray;
/**
 *  默认选择项（几维数组传几个值）
 */
@property(nonatomic, strong) NSArray<NSString *> *selectedValue;
/**
 *  选择器的标题
 */
@property(nonatomic, copy) NSString *pickerTitle;
/**
 调出选择器
 
 @param pickerTitle 选择器标题
 @param dataArray 数据源
 @param selectedValue 默认选择的值
 */
- (instancetype)initWithTitle:(NSString *)pickerTitle dataArray:(NSArray *)dataArray selectedValue:(NSArray *)selectedValue;
/**
 调出选择器

 @param pickerTitle 选择器标题
 @param dataArray 数据源（格式要求同上属性）
 @param selectedValue 默认选择的值（格式要求同上属性）
 @param complement 完成回调
 */
+ (void)showPickerWithTitle:(NSString *)pickerTitle dataArray:(NSArray *)dataArray selectedValue:(NSArray *)selectedValue complement:(void(^)(NSArray<NSNumber *> *numberArray))complement;

/**
 调出日期和时间选择器
 
 @param pickerTitle 选择器标题
 @param dateString 默认时间
 @param datePickerMode 选择器的类型
 @param complement 完成回调
 */
+ (void)showDatePickerWithTitle:(NSString *)pickerTitle dateString:(NSString *)dateString datePickerMode:(TYZDatePickerMode)datePickerMode complement:(void(^)(NSString *dateString))complement;

/**
 调出日期和时间选择器
 
 @param dateString 默认时间
 @param datePickerMode 选择器的类型
 @param complement 完成回调
 */
+ (void)showDatePickerWithDateString:(NSString *)dateString datePickerMode:(TYZDatePickerMode)datePickerMode complement:(void(^)(NSString *dateString))complement;
@end
